package com.nbst.service.base;

import java.util.List;
import java.util.Map;

import com.nbst.comnutil.NormalResult;
import com.nbst.model.base.Base;
import com.nbst.model.base.User;

/**
 * @ClassName: IUserService
 * @Description:用户管理Service
 * @author 兵
 * @date 2017-8-16
 * 
 */

public interface IUserService {
	NormalResult deleteByPrimaryKey(Integer uId);

	NormalResult insertSelective(User record, String[] ids);

	List<User> findByCondition(Map<String,Object> map);

	NormalResult findByCondition1(Map<String,Object> map,Integer offset,Integer row);

	NormalResult updateByPrimaryKeySelective(User record, String[] ids);

	int count(Map<String,Object> map);

	List<Base> getDepartmentUserTree(Map<String,Object> map);

	/**
	 * 
	 * @Title: getUser2Dep @Description:根据用户ID查询用户代管部门信息 @param @param uId
	 * 用户id @param @return @return List<Map<String,Object>> @throws
	 */
	List<Map<String,Object>> getUser2Dep(Integer uId);

	/**
	 * 
	 * @Title: insertUser2Dep @Description: 新增用户代管别的部门的关系信息 @param @param
	 * map @param @return @return int @throws
	 */
	NormalResult insertUser2Dep(Integer uId, String dIds);

	/**
	 * 
	 * @Title: List2Array @Description: 根据用户id查询出代管车间id @param @param uId
	 * 用户id @param @return @return String[] 返回类型 @throws
	 */
	Integer[] List2Array(Integer uId);

	/**
	 * 
	 * @Title: updatePassword @Description: 修改密码 @param @param
	 * record @param @return @return NormalResult @throws
	 */
	NormalResult updatePassword(User record);

	/**
	 * 启/停 账号
	 * 
	 * @param record
	 * @return NormalResult
	 * @author King
	 * @date 2018年11月5日
	 */
	NormalResult stopUser(User record);
}